¿Qué es un router? Un router es un dispositivo que conecta redes de comunicaciones. Dicho de
otra forma, un router es un ordenador especializado que resuelve problemas muy
concretos de comunicaciones.
¿Para qué hace falta un ordenador de comunicaciones? Los ficheros de datos que mandamos por las redes de comunicaciones no se
mueven como un sólo bloque sino que son fragmentados en paquetes. Este tipo de
comunicación se le llama conmutación de paquetes. El problema fundamental que el
router resuelve es el de encontrar un camino entre el origen y el destino para
cada uno de los paquetes de datos que atraviesan las redes de comunicaciones.
¿Qué es eso de los niveles? El problema de construir un sistema de comunicaciones es tan complejo que no
resulta práctico intentar resolverlo todo a la vez. Es mejor descomponer el
sistema en componentes más sencillos, que resuelvan cada uno parte del problema.
Un sistema de comunicaciones debe manejar elementos tan distintos como las
especificaciones eléctricas del medio (nivel 1, físico), proporcionar control de
errores y flujo (nivel 2, enlace), fragmentar y reensamblar los paquetes así
como direccionarlos (nivel 3, red), seguir la pista de los paquetes y garantizar
que lleguen todos a su destino (nivel 4, transporte), etc... Cada uno de los
componentes que se ocupa de una de estas tareas pertenece a un nivel o capa de
la pila de protocolos.
¿Cómo funciona lo de los niveles en la práctica? Las aplicaciones (web, ftp, email...) no hablan directamente unas con otras,
sino que lo hacen con el componente correspondiente de la capa directamente
inferior del protocolo usado para comunicarse. Por ejemplo, un usuario que
quiera hacer descargar una página web usará una aplicación Web (el navegador)
para conectarse con el servidor Web (httpd). Para ello la petición baja por la
pila de protocolos del cliente (Navegador->TCP->IP->driver->Ethernet) y sube por
la pila del servidor (Ethernet->driver->IP->TCP->httpd). La respuesta del
servidor sigue el camino contrario.
Navegador Web httpd Aplicación
| |
TCP TCP Transporte
| |
IP IP Red
| |
driver de la tarjeta driver de la tarjeta Enlace
| |
Ethernet-------------------------Ethernet Físico
Desde un punto de vista lógico cada módulo de una 'pila' habla con el módulo
correspondiente de la otra 'pila' (navegador con servidor, módulo IP con módulo
IP, etc...), pero desde un punto de vista real cada módulo sólo puede hablar
directamente con los contiguos (por ejemplo IP->driver o IP->TCP)
A este moverse por las distintas capas se le llama subir (y bajar) por la pila
de protocolos. Cada capa o nivel añade información adicional, lo que se conoce
como encapsulamiento, porque cada módulo encapsula o envuelve los datos de la
capa anterior dentro un nuevo paquete con información adicional correspondiente
al nivel que está manipulando la información. A esta información adicional se le
llama cabecera (header). En la cabecera se almacena información correspondiente
a la capa como direcciones, corrección de errores, tipo de protocolo
transportado, etc... Podemos pensar en el encapsulamiento como el acto de meter
una carta en un sobre (y etiquetarlo convenientemente), luego los sobres se
agrupan en sacas (que también van etiquetadas) y finalmente las sacas se montan
en vagones de tren (que entiendo que irán numerados de alguna forma, pero que me
aspen si sé como...)
+-------+ Telnet | datos | +-------+
+--------+-------+ TCP |cabecera| datos | +--------+-------+
+--------+----------------+ IP |cabecera| datos | +--------+----------------+
+--------+-------------------------+ NIC driver |cabecera| datos | +--------+-------------------------+
¿Qué diferencia hay entre un router, un hub y un switch? Se trata de tres dispositivos de red que trabajan en niveles distintos. Un
hub (concentrador) conecta dispositivos a un mismo nivel físico (compartición de
medio). Cuando el número de dispositivos conectados a un único medio crece,
estos compiten por acceder al nivel físico (colisionan). Una solución consiste
en usar switches (conmutadores), que usan información adicional (conocida como
de enlace) para separar los dispositivos en distintos dominios de colisión
(separa los medios físicos). No obstante ciertos paquetes con muchos
destinatarios (paquetes de difusión o broadcast) no son controlables a través de
dominios de colisión. os routers (enrutadores) usan información adicional (de la
capa o nivel de red) para separar nuevamente las redes en dominios de difusión.
¿Cada dispositivo de red trabaja en una capa? Cada dispositivo usa fundamentalmente la información de una capa para
realizar su función de distribución de tráfico. Un hub es básicamente un
repetidor, ampliando el medio físico:
Telnet Telnetd | | TCP TCP | | IP IP | | driver driver
| | ----HUB----
Un switch usa la información contenida en las cabeceras de los paquetes
correspondientes al nivel de enlace para separar el tráfico:
Telnet Telnetd | | TCP TCP | | IP IP | | driver driver driver
| | | ----------SWITCH--------
Un router es un dispositivo de red, de forma que los paquetes suben hasta la
capa de red de la pila de protocolos del router para decidir como se deben
distribuir:
Telnet Telnetd | | TCP TCP | | IP IP IP | | | driver driver driver
| | | ----------ROUTER--------
Estos dispositivos no necesitan implementar las capas superiores para realizar
su función.
¿Qué ventajas se obtienen al separar los sistemas en subsistemas? Al separar el problema en subsistemas cuyas funciones se han negociado
previamente se consigue (1) que estos módulos sean especializados y eficientes y
(2) que puedan estar construidos por distintos fabricantes (o que es lo mismo,
que dispositivos de distintos fabricantes se puedan entender). Además ayuda a
localizar los puntos dónde hay que realizar los cambios a medida que las
tecnologías avanzan (la aparición de nuevos medios físicos no obliga a cambiar
todo el sistema. Desde un punto de vista lógica cada módulo de un sistema
responsable de manejar una capa habla con la capa homóloga en el otro sistema,
aunque desde un punto de vista real es preciso que los datos bajen
(encapsulándose) por toda la pila de protocolos de un sistema y suban
(desencapsulandose) por toda la pila de protocolos del sistema destino para que
la información llegue a la capa correspondiente en el sistema destinatario.
¿Es exclusiva esta técnica de las telecomunicaciones? Esta técnica de descomponer problemas complejos en otros más simples es
fundamental en la informática y en la ciencia en general. Ejemplos de sistemas
que se benefician de la descomposición en módulos especializados son las bases
de datos (nivel físico, lógico, ), sistemas operativos (núcleo o kernel, API,
aplicaciones), programación, etc...
¿En qué se diferencian unos routers de otros?
- Facilidad de uso
- Tipos de conectores
- Protocolos que conoce
- Velocidad de conmutación
¿Qué otros problemas resuelve un router?
- Seguridad (ver artículo sobre listas de acceso)
- NAT (ver artículo sobre Network Address Traslation)
¿Dónde puedo aprender más? Los fabricantes de routers ofrecen en sus webs información completa de sus
productos y de los problemas que resuelven. Cisco, uno de los más importantes,
tiene la suya aquí.
El recurso definitivo para comprender Internet son los RFCs (Request For
Comments). Puede buscar en Yahoo o Google el 'RFC 1180', que describe el
conjunto de protocolos TCP/IP.